import axios from 'axios'
import { useTokenStore } from '@/stores/mytoken'
import { refreshToken } from '@/api/users'
// import { useRouter } from "vue-router";
import router from '@/router/index'
const request = axios.create({
  // baseURL:import.meta.env.VITE_API_URL     //不知道为啥.edv不起作用
  // baseURL:"https://mock.apifox.cn/m1/2401164-0-default",
  baseURL: 'http://localhost:8080'
})

// 请求拦截器，config代表着每次请求的配置对象
// request.interceptors.request.use((config)=>{
//     if(!config.headers) {
//         config.headers = {} as AxiosRequestHeaders
//     }
//     const store = useTokenStore()//获取token
//     // 把access_token添加到每个请求头信息中,tolen可能为null
//     config.headers.Authorization = store.token?.access_token
//     return config
// })
//响应拦截器,两个回调,use(成功回调,失败回调)
// request.interceptors.response.use(
//     (response)=>response,
//     async (error)=>{
//         if(error.response.status === 401){
//             // 刷新token,解构返回结果中的data即可
//             const {data} = await refreshToken()
//             if(data.success){
//                 // 保存新token
//                 useTokenStore().saveToken(data.content)
//                 // 重新请求之前的接口，并且把结果返回
//                 return request(error.config)
//             }else{
//                 // 刷新token再失败,放弃，跳转到login页面
//                 ElMessage.error("Token已过期,刷新失败,请重新登录!")
//                 router.push({name:"login"})
//                 return

//             }
//         }
//         return Promise.reject(error)
//     }
// )
export default request
